1. Field of the Invention
This invention relates to data buffering/transformation systems, in particular to data buffering/transformation systems that utilize lossless compression and decompression algorithms or hardware to maximize limited memory resources.
2. Description of Related Art
In prior art buffering/transformation systems such as system 10 shown in FIG. 1, data is received and then buffered or stored in a data storage unit 12 prior to transmission. The received data may be buffered because it is received at a data rate greater than the data rate of the transmitted data. In addition, the received data may be data that needs to be transformed to a different format before it can be transmitted. In such embodiments, the received data may be buffered or stored in the data storage unit 12 prior to its transformation and transmission.
In either case, the data is stored or buffered temporarily in the data storage unit 12. The data storage unit 12 capacity may be determined as a function of the differential data rates (input/output rate), burst rates, and the time required to transform the received data. Due to high storage prices, the storage cost that the buffering/transformation system 10 requires can be prohibitive. In order to reduce the storage size (total effective storage capacity) and, thus the system cost, some prior art systems have added a combination compressor/decompressor ("C/D") 14.
The C/D 14 compresses received data prior to storage in the data storage unit 12. Consequently, the storage requirements for the system 10 may be reduced. The C/D 14 also decompresses data stored in the data storage unit 12 prior to transmission. Preferably, the received data is compressed using a lossless compression algorithm such as Adaptive Lossless Data Compression ("ALDC"), which is well known by those of ordinary skill in the art. See, for example, commonly assigned U.S. Pat. No. 5,572,209 "Method and apparatus for compressing and decompressing data," Farmer et al. issued Nov. 5, 1996.
In conventional systems that transform or manipulate data prior to transmitting the data, data is received, compressed, and then stored in its received or raw format in the data storage unit 12. Data in the data storage unit 12 may then be retrieved, decompressed by C/D 14, and transformed for transmission. A transmission system may be coupled to the system 10 to receive the transmitted data. Depending on the transmission system's rate or status, the transformed data may also need to be buffered prior to transmission. C/D 14 compresses the transformed data and stores the compressed transformed data in data storage unit 12. Next, C/D 14 retrieves the transformed data in data storage unit 12, decompresses the data, and transmits the decompressed data. Thus, C/D 14 is required to decompress stored, compressed, received or raw data so that the data can be transformed, compressed, and returned to memory. C/D 14 is further required to decompress stored, compressed, transformed data to be transmitted. C/D 14 may limit system 10 throughput due to the simultaneous decompression demands.
A data buffering/transformation system is needed to overcome these and other problems of the prior art.